package com.itheima.mapper;

import com.itheima.DTO.YddTagDTO;
import com.itheima.DTO.YddTagPageDTO;
import com.itheima.VO.YddTagVO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface YddTagMapper {

    @Select("select * from ydd_tag")
    List<YddTagVO> tagAllData();

    List<YddTagVO> page(YddTagPageDTO yddTagPageDTO);

    void allTagInfo(YddTagDTO yddTagDTO);

    @Select("select * from ydd_tag where id = #{id}")
    YddTagVO selectTagInfoById(Integer id);

    void updateTagInfo(YddTagDTO yddTagDTO);

    @Delete("delete from ydd_tag where id = #{id}")
    void deleteTagById(Integer id);

    @Select("select count(*) from ydd_tag where tagname = #{tagname}")
    Integer selectTagnameCount(YddTagDTO yddTagDTO);

    @Select("select count(*) from ydd_tag where tagname = #{tagname} and id != #{id}")
    Integer selectTagnameCountNotSelf(YddTagDTO yddTagDTO);

    @Select("select count(*) from ydd_tag")
    Integer selectCount();
}
